是的,我僅是一位學生,並沒有任何網絡安全相關的工作經驗,更不用說甚麼專業資格。在這個社群的大家、在這個鐵人賽的大家、在讀我這篇文章的您都是很值得我去學習的前輩們 —— 我想,大多數在讀這篇文章的人都比我還要熟悉網絡安全。
然而,這並不妨礙我想自我挑戰的心。這一次,我希望透過今年的鐵人賽挑戰一下我自己,以過去1年花了不少時間研究的主題 —— CTF為題發布連續30天、30篇的文章。
若然你不介意我那淺陋不一定完全的知識,那也許感覺怪怪的台港式混合中文(?),還請和我一起,完成這趟30天的旅程。
約是一年前,我和同學在幾乎甚麼都不懂的時候參加了香港網絡保安新生代奪旗挑戰賽2023這項CTF比賽。參加了比賽,當然就得至少訓練訓練一下嘛!於是,在不斷的訓練以及實際的比賽當中,我漸漸的對於CTF這類謎題產生了興趣,結果便在接下來的一年斷斷續續的嘗試了各種的CTF題目。
以上,讓我們開始進入CTF的世界、探索其中的樂趣吧!
CTF — Capture The Flag 直接翻譯成中文的話就是「搶旗賽」,是一種資訊安全的攻防競賽/遊戲;參賽者需要解決各種資訊安全領域的挑戰或謎題以找到「旗子 Flag」—— 一種有特定格式的字串。
CTF起源於 1996 年在美國拉斯維加斯的 DEF CON —— 一個一年一度的大規模網絡安全大會,而這種競賽遊戲在那之後不斷的發展,演變成為現時在網絡安全領域頗為流行的CTF競賽。
CTF主要可分為兩種:Attack/Defense 以及 Jeopardy
Attack/Defense 也就是「攻防戰」—— 顧名思義就是參賽隊伍互相進行攻擊和防守,透過利用網絡安全相關的漏洞來攻擊對手來得分或是修補漏洞進行防禦,以分出勝利。想也知道,這種賽制十分激烈。
另一種則是 Jeopardy 模式,簡單來說就是「解謎向」,舉辦方一般會設置許多「題目」,參賽隊伍需要利用各種網絡安全的知識、利用各種漏洞來獲取 Flag — 類似於「題目答案」的概念 — 來得分。在CTF比賽之中,限時內取得最高得分的參賽隊伍將會勝出。
這是我最初知道這類比賽的時候,腦海中第一個問題。然而,實際完成各種的CTF挑戰,你才能體會那種無法以文字概括的、發現 Flag 時的那份感動。
說個個人經歷 — 在上年的比賽之中,有一道比較複雜的題目,那時候花了許多時間終於讓我找到了 Flag ,我當時直接在和同學連麥的時候叫了出來。
怎樣?這種感覺,如果你也想體驗一下,不妨和我一起潛入CTF的寬闊海洋裡。
在這個系列中,我將會介紹幾款關於 Web安全範疇、隱寫術等 的基礎 CTF 題型以及原理、以及為密碼學、逆向工程以及PWN等的一些比較進階的 CTF 題型作一個引入。此系列文章預期較為適合從未接觸或是接觸 CTF 不久的人,大家可以當作 CTF 的入門系列來看。
由於本人算是首次參加這類撰文的活動,同時還只是一名學生,如有任何錯漏、或對於文章有任何意見,歡迎留言交流!
以上,願你在 CTF 中找到快樂。